package com.ffcc.fitness.base.response;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@NoArgsConstructor
@AllArgsConstructor
public enum StatusCode {
    SUCCESS(2000, "OK"),
    LOGIN_SUCCESS(2001, "登录成功"),
    OPERATION_SUCCESS(2002, "操作成功"),

    NOT_LOGIN(4000, "未登录"),
    PASSWORD_ERROR(4002, "用户名或密码错误"),
    USERNAME_ERROR(4003, "用户名或密码错误"),
    USER_ID_EMPTY(4004, "用户ID不能为空"),    OPERATION_FAILED(5001, "操作失败"),
    VALIDATE_ERROR(5002, "请求参数错误"),
    PARAMETER_ERROR(5003, "参数错误"),
    USERNAME_ALREADY_EXISTS(5004, "用户名被占用"),
    DATA_UNEXISTS(5005, "请求数据不存在"),
    //文件上传超出最大数
    FILE_UPLOAD_MAX_COUNT(5006, "文件上传超出最大数"),    VERIFICATION_CODE_ERROR(10601, "验证码错误或已过期"),
    GYM_ALREADY_CLAIMED(10602, "该场馆已被认领"),
    GYM_NOT_FOUND(10603, "场馆不存在"),
    NO_PERMISSION(10604, "只有场馆人员角色才能认领场馆"),
    
    // 预约系统相关状态码
    RESERVATION_CONFLICT(10701, "预约时段冲突"),
    RESERVATION_NOT_FOUND(10702, "预约记录不存在"),
    RESERVATION_CANNOT_CANCEL(10703, "当前状态的预约无法取消"),
    RESERVATION_DATE_INVALID(10704, "预约日期无效"),
    RESERVATION_TIME_PAST(10705, "不能预约过去的时间"),
    RESERVATION_PERMISSION_DENIED(10706, "无权限操作此预约");

    private Integer code;
    private String msg;
}